"""
精确修复face_database.py文件中的缩进问题
"""

def fix_indentation():
    file_path = "src/modules/face_database.py"
    
    # 读取文件内容
    with open(file_path, 'r', encoding='utf-8') as f:
        lines = f.readlines()
    
    # 查找问题行
    for i, line in enumerate(lines):
        if line.strip() == "else:":
            # 检查下几行
            if i + 1 < len(lines) and "# 最老的数据结构（只有编码，没有图片路径）" in lines[i + 1]:
                # 修复缩进
                lines[i + 1] = "                # 最老的数据结构（只有编码，没有图片路径）\n"
                if i + 2 < len(lines) and "# 这种情况下我们无法删除文件，因为没有存储路径信息" in lines[i + 2]:
                    lines[i + 2] = "                # 这种情况下我们无法删除文件，因为没有存储路径信息\n"
                
                # 确保后面的代码块有正确的缩进直到下一个dedent
                j = i + 3
                while j < len(lines):
                    if lines[j].strip() == "":
                        j += 1
                        continue
                    # 如果遇到不是以空格开头的行，说明是代码块结束
                    if not lines[j].startswith(" "):
                        break
                    # 如果遇到return False，说明是函数结束
                    if lines[j].strip() == "return False":
                        break
                    # 如果已经有正确的缩进，跳过
                    if lines[j].startswith("                "):
                        j += 1
                        continue
                    # 如果只有4个空格的缩进，增加到8个空格
                    if lines[j].startswith("    "):
                        lines[j] = "        " + lines[j][4:]
                    j += 1
                break
    
    # 写回文件
    with open(file_path, 'w', encoding='utf-8') as f:
        f.writelines(lines)
    
    print("缩进问题已精确修复")

if __name__ == "__main__":
    fix_indentation()